<?php
declare (strict_types = 1);

namespace app\index\controller;

//----
use think\facade\View;

class Index
{
    public function index()
    {
        //控制器定义
        //命名空间 根据文件所在目录位置命名
        //类名/类文件名 首字母大写(类文件以.php后缀) 第二个单词首字母大写以此类推 (大驼峰法)
        //方法          首字母小写                   第二个单词首字母大写以此类推 (小驼峰法)
        //[视图层定义]
        //View 选择facade的门面类  ->fetch()
        //视图的目录对应控制器名    小写加下划线
        //视图文件名                对应控制器方法    大写转小写加下划线(以.html结尾为后缀)

        //->fetch () 参数
        //模板路径 : 应用@控制器/方法  (应用@模板目录/模板文件)

        //模板输出替换
        //'tpl_replace_string' => [
        //  '__STATIC__'=>'/static',
        // '__JS__'=>'/static/javascript',
        //'__IMAGES__'=>'/static/images'
        //]

        //[URL生成]
        //参数url    地址表达式   应用/控制器/方法
        echo \think\facade\Route::buildUrl('admin/demo/demo');
        //->suffix()
        //参数是伪静态后缀
        //->domain()
        //参数是域名
        //????????????????????????????????????????????????????????????????????????????
        echo \think\facade\Route::buildUrl('admin/demo/demo')
            ->suffix('abc')->domain('demo');

        //[url助手函数]
        //    参数1 地址表达式
        //    参数2 传输的数据
        //    参数3 后缀
        //    参数4 域名
        url('index/blog/read',['id'=>5,'name'=>'xiyouji'])
            ->suffix('html')//3
            ->domain(false);//4
//        模板中写法{:url('index')}



        //[模板赋值]//赋值标量 (字符串,整型,浮点,布尔值)
        // 判断标量is_scalar()
        //var_dump(is_scalar())/echo is_scalar();=>1=true
        //        View::assign('title',123);  //输出写法 {$name}
        //赋值一维数组
        $arr=[1,2,3,4];//索引数组
        $arr1=['name'=>'唐嫣','age'=>28];//关联数组
        View::assign('arr',$arr);
        View::assign('arr1',$arr1);

    //赋值多维数组
        $xyj = [
            ['id'=>1,'name'=>'ts'],
            ['id'=>3,'name'=>'bj'],
            ['id'=>2,'name'=>'wk'],
            ['id'=>4,'name'=>'ss'],
            ['id'=>5,'name'=>'xbl']
        ];

        View::assign('xyj',$xyj);  //{$arr3.0.id}=={$arr3[2]['name']}
        //赋值对象
        $obj=new \stdClass();//实例化 空对象
        $obj->id=6;
        $obj->name='xiyouji';
        View::assign('obj',$obj);

        //批量赋值
        View::assign($arr1);

        //模板注释
        //  模板标签内{//单行} {/*多行*/}

        //模板原样输出  在html写
//        {literal}
//             {$name}
//        {/literal}

        //模板里使用函数(手册-视图-模板引擎-参考这里-使用函数)
        $name="杨幂";
        View::assign('name',$name);
        //管道



        $date=time();
        View::assign('date',$date);



       $str="&lt";
        View::assign('str',$str);


        View::assign('value',1);

        //手册-视图-模板引擎-参考这里-运算符
            //三元
        //内置标签
            //循环 foreach / volist
            //比较
        $arr90=[];
        View::assign('arr90',$arr90);


        //比较标签
        View::assign('number',1);
        View::assign('value',1);











        return View::fetch();


    }
    function indexDemo(){
        //----
        return View::fetch();
    }



}